<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 只要函数定义，函数上面就会出现一个属性，scope，因为scope是内部属性。
        // 当demo1定义的时候产生demo1的作用域链，当demo1执行的时候，demo2进行定义，此时会产生demo2的作用域链，
        // demo2作用链中一直包含 demo1的AO对象和GO。demo2执行的时候一直有demo1的AO。
        debugger;
        function demo1() {
            var count = 0;
            return function demo2() {
                count++;
                console.log(count)
            }
        }

        var s = demo1()
        s()
        s()
        s()

        // 作用域链: 有权访问变量的集合。

    </script>
</body>
</html>